package cn.edu.sjtu.se.dslab.service.achieve;

import cn.edu.sjtu.se.dslab.DAO.IUserDAO;
import cn.edu.sjtu.se.dslab.actionbean.LoginActionBean;
import cn.edu.sjtu.se.dslab.exception.DBException;
import cn.edu.sjtu.se.dslab.pojo.User;
import cn.edu.sjtu.se.dslab.service.ILoginService;

/**
 * LoginService <BR>
 * 用户登录的业务处理实现类
 */
public class LoginService implements ILoginService {

	/**
	 * 用户信息表的数据处理类
	 */
	private IUserDAO userDAO;

	private LoginService() {
	}

	public IUserDAO getUserDAO() {
		return userDAO;
	}

	public void setUserDAO(IUserDAO userDAO) {
		this.userDAO = userDAO;
	}

	/**
	 * 登陆操作
	 * 
	 * @return 系统用户类
	 */
	@Override
	public User login(LoginActionBean loginActionBean) throws DBException {
		// 获取用户账号
		String username = loginActionBean.getTxtUsername();
		// 获取用户密码
		String password = loginActionBean.getTxtPassword();

		// 根据登录页面的输入信息查询用户信息

		User user = this.userDAO.findByLoginInfo(username, password);

		// 如果查询结果不为空
		if (user != null) {
			// 返回系统用户信息集合
			return user;
		}
		// 如果查询结果为空
		else {
			// 返回空
			return null;
		}
	}
}
